package com.yanqu.road.server.channelserver.manager.activity.entername;

import com.yanqu.road.entity.activity.entername.UserEnterName;
import com.yanqu.road.entity.player.UserBaseInfo;
import com.yanqu.road.pb.cross3.activity.EnterNameProto;
import com.yanqu.road.server.channelserver.manager.activity.entername.rank.EnterNameMyRankData;

import java.math.BigInteger;

public interface EnterNameActivity {


    /**
     * 玩家榜单变更
     * @param userId
     * @param type
     * @param value
     * @param param
     * @param userBaseInfo
     */
    void changeUserValue(long userId, int type, BigInteger value, String param, UserBaseInfo userBaseInfo);

    /**
     * 分组贡献
     * @param page 当前页
     * @param pageSize 分页大小
     * @param groupId 分组
     * @param type 类型
     */
    EnterNameProto.EnterNameGroupMemberListMsg.Builder getGroupMember(int page, int pageSize, int groupId, int type);

    /**
     * 初始榜单
     */
    void initDataRank();

    /**
     * 我的榜单数值
     * @param type 榜单类型
     */
    EnterNameMyRankData getMyRankData(int type, UserEnterName name);

    default int getGroupConditionType(){ return  0;}

    default int getAllGroupConditionType(){ return  0;}

    default int getUserConditionType(){ return  0;}
}
